home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / X11R4 / cmds / X / extensions / shape.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-03-23  |  2.9 KB  |  85 lines

  1. /************************************************************
  2. Copyright 1989 by The Massachusetts Institute of Technology
  3.  
  4. Permission to use, copy, modify, and distribute this
  5. software and its documentation for any purpose and without
  6. fee is hereby granted, provided that the above copyright
  7. no- tice appear in all copies and that both that copyright
  8. no- tice and this permission notice appear in supporting
  9. docu- mentation, and that the name of MIT not be used in
  10. advertising or publicity pertaining to distribution of the
  11. software without specific prior written permission.
  12. M.I.T. makes no representation about the suitability of
  13. this software for any purpose. It is provided "as is"
  14. without any express or implied warranty.
  15.  
  16. MIT DISCLAIMS ALL WARRANTIES WITH REGARD TO  THIS  SOFTWARE,
  17. INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FIT-
  18. NESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SUN BE  LI-
  19. ABLE  FOR  ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  20. ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,  DATA  OR
  21. PROFITS,  WHETHER  IN  AN  ACTION OF CONTRACT, NEGLIGENCE OR
  22. OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION  WITH
  23. THE USE OR PERFORMANCE OF THIS SOFTWARE.
  24.  
  25. ********************************************************/
  26.  
  27. /* $XConsortium: shape.h,v 1.12 89/10/08 19:22:37 jim Exp $ */
  28.  
  29. #ifndef _SHAPE_H_
  30. #define _SHAPE_H_
  31.  
  32. #define X_ShapeQueryVersion        0
  33. #define X_ShapeRectangles        1
  34. #define X_ShapeMask            2
  35. #define X_ShapeCombine            3
  36. #define X_ShapeOffset            4
  37. #define X_ShapeQueryExtents        5
  38. #define X_ShapeSelectInput        6
  39. #define X_ShapeInputSelected        7
  40. #define X_ShapeGetRectangles        8
  41.  
  42. #define ShapeSet            0
  43. #define ShapeUnion            1
  44. #define ShapeIntersect            2
  45. #define ShapeSubtract            3
  46. #define ShapeInvert            4
  47.  
  48. #define ShapeBounding            0
  49. #define ShapeClip            1
  50.  
  51. #define ShapeNotifyMask            (1L << 0)
  52. #define ShapeNotify            0
  53.  
  54. #define ShapeNumberEvents        (ShapeNotify + 1)
  55.  
  56. #ifndef _SHAPE_SERVER_
  57. typedef struct {
  58.     int    type;            /* of event */
  59.     unsigned long serial;   /* # of last request processed by server */
  60.     Bool send_event;        /* true if this came frome a SendEvent request */
  61.     Display *display;        /* Display the event was read from */
  62.     Window window;        /* window of event */
  63.     int kind;            /* ShapeBounding or ShapeClip */
  64.     int x, y;            /* extents of new region */
  65.     unsigned width, height;
  66.     Time time;            /* server timestamp when region changed */
  67.     Bool shaped;        /* true if the region exists */
  68. } XShapeEvent;
  69.  
  70. extern Bool XShapeQueryExtension ();
  71. extern Status XShapeQueryVersion ();
  72. extern void XShapeCombineRegion ();
  73. extern void XShapeCombineRectangles ();
  74. extern void XShapeCombineMask ();
  75. extern void XShapeCombineShape ();
  76. extern void XShapeOffsetShape ();
  77. extern Status XShapeQueryExtents ();
  78. extern void XShapeSelectInput ();
  79. extern unsigned long XShapeInputSelected ();
  80. extern XRectangle *XShapeGetRectangles ();
  81.  
  82. #endif /* _SHAPE_SERVER_ */
  83.  
  84. #endif /* _SHAPE_H_ */
  85.